#! /bin/sh

if [ $# -lt 3 ]; then
    echo "Sintaxe: $0 dir-final dimensao dir-orig-foto-1 dir-orig-foto-2..."
    exit 10
fi

dir_final="$1"

mkdir -p "$dir_final" 2> /dev/null

if [ $? -ne 0 ]; then
    echo "Erro criando diretorio $dir_final"
    exit 20
fi

dimensao=$2

case $dimensao in
    ''|*[!0-9]*) echo "Dimensao deve ser um numero"; exit 30 ;;
    *) echo "" ;;
esac

if [ $dimensao -lt 480 ]; then
    echo "Dimensao deve ser maior que 479"
    exit 40
fi 

here=`echo $PWD`
full_dir_final=$here/$dir_final

if [ ! -d $full_dir_final ]; then
    echo "Diretorio destino $full_dir_dest nao pode ser encontrado"
    exit 50
fi 

### copiando arqs dos dirs de orig para dir final

first_dir_orig=3
counter_dir_orig=1
total_arqs=0

for dir_orig in "$@"; do
    if [ $counter_dir_orig -ge $first_dir_orig ]; then
        full_dir_orig=$here/$dir_orig
        if [ -d "$full_dir_orig" ]; then
            for arq in `ls $full_dir_orig/*.jpg`; do
                echo "Copiando $arq"
                cp $arq $full_dir_final 2> /dev/null
                total_arqs=$(( total_arqs + 1 ))
            done
        else
            echo "Nao foi possivel encontrar diretorio $here/$full_dir_orig"
        fi 
    fi
    counter_dir_orig=$((counter_dir_orig + 1 ))
done

echo ""
echo "Total de arquivos: $total_arqs"
echo ""

### transformando 

cd $full_dir_final

for img in `ls`; do

    # redimensionando
    convert "$img" -resize "$dimensao"x"$dimensao" "$img"

    # rotacionando
    o=`exif "$img" | grep Orientação | cut -d '|' -f 2 | grep "esquerda - abaixo" -c`
    if [ "$o" -ne 0 ]; then
        convert "$img" -rotate -90 "$img"
    fi

    # extraindo nome
    so_nome_img=`basename $img .jpg`

    # formatando contador
    if [ $total_arqs -lt 10 ]; then
        num="000$total_arqs"
    else
        if [ $total_arqs -lt 100 ]; then
            num="00$total_arqs"
        else
            if [ $total_arqs -lt 1000 ]; then
                num="0$total_arqs"
            fi
        fi
    fi 


    # renomeando
    novo_img="$num"__"$so_nome_img".jpg
    echo "$img processada para $novo_img"
    mv "$img" "$novo_img"

    # decrementando
    total_arqs=$(( total_arqs - 1 ))
done

